using System.Windows.Forms;
using System.Drawing;
using System;

namespace GraphConstructorControl
{

    class GrapherDragEventArgs
    {
        public GrapherDragEventArgs(Point location, Element data)
        {
            this.data = data;
            this.location = location;
        }

        public Point location;
        public Element data;
    }


    interface IEvents
    {
        void OnMove(object sender, GrapherDragEventArgs e);
        void OnBeginMove(object sender, GrapherDragEventArgs e);
        void OnEndMove(object sender, GrapherDragEventArgs e);
        void OnMoveLeave(object sender, GrapherDragEventArgs e);
        void OnMoveOver(object sender, GrapherDragEventArgs e);

        void OnHelpRequested(object sender, HelpEventArgs hlpevent);
        void OnKeyDown(object sender, KeyEventArgs e);
        void OnMouseClick(object sender, MouseEventArgs e);
        void OnMouseDoubleClick(object sender, MouseEventArgs e);
        void OnMouseDown(object sender, MouseEventArgs e);
        void OnMouseUp(object sender, MouseEventArgs e);
        void OnMouseEnter(object sender, EventArgs e);
        void OnMouseHover(object sender, EventArgs e);
        void OnMouseLeave(object sender, EventArgs e);
        void OnMouseMove(object sender, MouseEventArgs e);

        void OnPaint(object sender, PaintEventArgs e);
        void OnResize(object sender, EventArgs e);
    }
}